home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 04 / 2 / DISK0425.ZIP / MEANS.PAS < prev    next >
Pascal/Delphi Source File  |  1985-04-03  |  1KB  |  54 lines

  1. program means;        { -> 26 }
  2. {find mean and standard deviation }
  3.  
  4. const    max    = 80;
  5.  
  6. type    ary     = array[1..max]of real;
  7.  
  8. var    x    : ary;
  9.     i,n    : integer;
  10.     mean,std: real;
  11.  
  12. external procedure cls;
  13.  
  14. procedure meanstd
  15.         (x        : ary;    {array of values}
  16.          length        : integer;
  17.          var mean    : real;
  18.          var std_dev    : real);
  19.  
  20. var
  21.         i        : integer;
  22.         sum_x,sum_sq    : real;
  23.  
  24.  
  25.  
  26. begin {main}
  27.  sum_x:=0;
  28.  sum_sq:=0;
  29.  for i:=1 to length do
  30.     begin
  31.      sum_x:=sum_x+x[i];
  32.      sum_sq:=sum_sq+x[i]*x[i]
  33.     end;
  34.  mean:=sum_x/length;
  35.  std_dev:=sqrt((sum_sq-sqr(sum_x)/length)/(length-1))
  36. end    { procedure meanstd };
  37.  
  38. begin    { MAIN program }
  39.  cls;
  40.  writeln;
  41.  writeln('Calculation of mean and standard deviation');
  42.  repeat
  43.     write('How many points? ');
  44.     readln(n)
  45.  until n<=max;
  46.  for i:=1 to n do
  47.     begin
  48.      write(i:3,':');
  49.      readln(x[i])
  50.     end;
  51.  meanstd(x,n,mean,std);
  52.  writeln(chr(7),'For ',n:3,' points, mean= ',mean:8:4,' sigma= ',std:8:4)
  53. end.    { MAIN program }
  54.